You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

51 line
1.8 KiB

  1. import React from 'react';
  2. import Header from "@/components/Company/Header";
  3. import Footer from "@/components/Company/Footer";
  4. import ProductDetail from '@/components/Common/new/ProductDetails';
  5. import Product from "@/api/new/product"
  6. import Company from "@/api/new/company";
  7. import Cookies from "cookies";
  8. const Shop = function ({ companyData,company,icon,desc,sosmed,details, backend, user, ...props }) {
  9. return (
  10. <>
  11. <Header company={company} icon={icon}/>
  12. <ProductDetail detailproduct={details}/>
  13. <Footer company={companyData} info={desc} social={sosmed} icon={icon}/>
  14. </>
  15. )
  16. }
  17. export default Shop;
  18. export async function getServerSideProps(context) {
  19. var props = {};
  20. var {query} = context;
  21. var companyName = process.env.NEXT_PUBLIC_COMPANY;
  22. try{
  23. var details = await Product.GetDetailProduct(query.s||0);
  24. if(details["STATUS"] === 1 && details["DATA"]["product"].data){
  25. props["details"] = details["DATA"]["product"].data.attributes;
  26. companyName = (details["DATA"]["product"].data.attributes.Company.data)?details["DATA"]["product"].data.attributes.Company.data.attributes.Name:'yamaha';
  27. }
  28. var res = await Company.companyByName(companyName);
  29. if (res["STATUS"] === 1) {
  30. props["icon"] = res["DATA"]["companies"].data[0].attributes.Icon.data.attributes.url;
  31. props["desc"] = res["DATA"]["companies"].data[0].attributes.Description;
  32. props["sosmed"] = res["DATA"]["companies"].data[0].attributes.Social_Medias.data;
  33. props["companyData"] =res["DATA"]["companies"].data[0].attributes;
  34. }
  35. companyName = companyName.toLowerCase();
  36. props["company"] = companyName;
  37. }
  38. catch(e){
  39. console.log('error',e);
  40. }
  41. return {
  42. props
  43. };
  44. }